package com.fatmeraid.custom.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter; // 注意这个导入路径

@Configuration
public class CorsConfig {
	@Bean
	public CorsFilter corsFilter() {
		// 1. 创建 CORS 配置对象
		CorsConfiguration config = new CorsConfiguration();
		// 允许跨域的源地址（* 表示允许所有，生产环境建议指定具体域名）
		config.addAllowedOriginPattern("*");
		// 允许跨域的请求头
		config.addAllowedHeader("*");
		// 允许跨域的请求方法（GET、POST、PUT、DELETE 等）
		config.addAllowedMethod("*");
		// 是否允许携带 Cookie
		config.setAllowCredentials(true);
		// 跨域请求的有效期（秒）
		config.setMaxAge(3600L);

		// 2. 配置 URL 映射
		UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
		// 对所有路径生效
		source.registerCorsConfiguration("/**", config);

		// 3. 返回 CorsFilter 实例
		return new CorsFilter(source);
	}
}